#ifndef CONTEXT_HPP_
#define CONTEXT_HPP_

#include "ConcreteStrategy.hpp"

class Tourist
{
private:
  Transport* _tp;

public:
  Tourist(Transport* tp)
    :_tp(tp)
  {}
  Tourist()
    :_tp(nullptr)
  {}
  
  void Choose(Transport* tp)
  {
    if(tp != nullptr)
      _tp = tp;
  }

  void TravelMode()
  {
    if(_tp != nullptr)
      _tp->Display();
  }

  void Total()
  {
    _tp->Fee();
  }

  ~Tourist(){}
};

#endif

